/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.volatileengine.scene;

import javax.vecmath.Matrix4f;

/**
 * 
 * @author Administrator
 */
public abstract class Light {

	public enum LightType {

		DIRECTIONAL, SPOT, POINT;
	}

	private Matrix4f transform;

	private float constantAttenuation, linearAttenuation, quadraticAttenuation;

	/**
	 * @return the transform
	 */
	public Matrix4f getTransform() {
		return transform;
	}

	/**
	 * @param transform
	 *             the transform to set
	 */
	public void setTransform(Matrix4f transform) {
		this.transform = transform;
	}

	/**
	 * @return the constantAttenuation
	 */
	public float getConstantAttenuation() {
		return constantAttenuation;
	}

	/**
	 * @param constantAttenuation
	 *             the constantAttenuation to set
	 */
	public void setConstantAttenuation(float constantAttenuation) {
		this.constantAttenuation = constantAttenuation;
	}

	/**
	 * @return the linearAttenuation
	 */
	public float getLinearAttenuation() {
		return linearAttenuation;
	}

	/**
	 * @param linearAttenuation
	 *             the linearAttenuation to set
	 */
	public void setLinearAttenuation(float linearAttenuation) {
		this.linearAttenuation = linearAttenuation;
	}

	/**
	 * @return the quadraticAttenuation
	 */
	public float getQuadraticAttenuation() {
		return quadraticAttenuation;
	}

	/**
	 * @param quadraticAttenuation
	 *             the quadraticAttenuation to set
	 */
	public void setQuadraticAttenuation(float quadraticAttenuation) {
		this.quadraticAttenuation = quadraticAttenuation;
	}

	public abstract LightType getType();
}
